/* Copyright (c) 2007 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */ 

package com.google.calendar.interoperability.connectorplugin.base;

import com.google.calendar.interoperability.connectorplugin.base.messages.GwCommand;
import com.google.common.base.Function;

import static com.google.calendar.interoperability.connectorplugin.base.GwIo.FOLDER.HEADERS_IN;

/**
 * Function that cleans up objects from the in-folder that belong to
 * previously handled messages
 */
public class GarbageCollector implements Function<GwCommand, Object> {

  private GwIo io;
  
  public GarbageCollector(GwIo io) {
    this.io = io;
  }
  
  public Object apply(GwCommand from) {
    io.delete(HEADERS_IN, from.getHeaderName());
    return null;
  }

}
 
